package com.ojoin.trade.supplyloan_core.web.dao;

import com.ojoin.trade.common.exception.BusinessException;
import com.ojoin.trade.common.web.dao.BaseDao;
import com.ojoin.trade.supplyloan_core.web.domain.SlLoanNotPaybackVo;
import com.ojoin.trade.supplyloan_core.web.domain.TbSlLoanDailyBillVo;
import com.ojoin.trade.supplyloan_core.web.domain.TbSlLoanInfo;
import com.ojoin.trade.supplyloan_core.web.domain.TbSlLoanInfoVo;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 15-10-23
 * Time: 下午2:00
 * To change this template use File | Settings | File Templates.
 */
public interface TbSlLoanInfoDao extends BaseDao<TbSlLoanInfo> {

    public void insertSlLoanInfo(TbSlLoanInfo infovo)throws BusinessException;

    public int updateSlLoanInfo(Map<String,Object> paramsmap) throws BusinessException;

    public TbSlLoanInfo querySlLoanInfoByJoinid(int idOfTbMerchantUser)throws BusinessException;

    public List<TbSlLoanInfoVo> queryAllSlLoanInfoVo()throws BusinessException;

    public void caculateFee()throws BusinessException;

    public TbSlLoanInfo queryLoanInfoByJoinid(int idOfTbMerchantUser)throws BusinessException;


 public long queryTotalNotPayback(int idOfTbMerchantUser)throws BusinessException;

    public List<SlLoanNotPaybackVo>  queryPlatformLoanInfoByJoinid(int joinid)throws BusinessException;

    public void lockid(int id)throws BusinessException;

    public void lockTable()throws BusinessException;

    public void caculateTotalRenewedAmount()throws BusinessException;

    public void updateForCopySlloanInfo()throws BusinessException;

    public List<TbSlLoanDailyBillVo> queryDailyBill(String curdate,Integer idOfTbMerchantUser,Integer idOfTbMerchantUserOfCreditor,Pageable pageable)throws BusinessException;

    public String queryDailySum(String curdate,Integer idOfTbMerchantUser,Integer idOfTbMerchantUserOfCreditor)throws BusinessException;
}
